package com.example.demo99.Mapper;

import com.example.demo99.Entity.OrderProduct;
import com.example.demo99.Entity.VO.ProductSalesStatsVO;
import com.example.demo99.Entity.VO.SalesTrendVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderProductMapper {
    int insert(OrderProduct orderProduct);


    // 1. 获取某段时间内销售最多的商品
    ProductSalesStatsVO getTopSellingProduct(@Param("startDate") String startDate,
                                             @Param("endDate") String endDate);

    // 2. 获取每个商品的总销售数量和金额
    List<ProductSalesStatsVO> getProductSalesStats(@Param("startDate") String startDate,
                                                   @Param("endDate") String endDate);

    // 3. 获取销售趋势（按月）
    List<SalesTrendVO> getSalesTrendByMonth(@Param("startDate") String startDate,
                                            @Param("endDate") String endDate);

    // 4.检查用户是否购买过指定订单商品（售后验证）
    boolean hasOrder(@Param("userId") Integer userId, @Param("orderProductId") Integer orderProductId);

    // 5.检查用户是否已完成订单（评价验证）
    boolean hasCompletedOrder(@Param("userId") Integer userId, @Param("orderProductId") Integer orderProductId);
}